package avicit.bdp.dds.common;

import avicit.bdp.dds.dispatch.enums.ExecutionStatus;
import avicit.bdp.dds.common.utils.OSUtils;

import java.util.regex.Pattern;

/**
 * Constants
 */
public final class Constants {

    private Constants() {
        throw new IllegalStateException("Constants class");
    }

    /**
     * quartz config
     */
    public static final String ORG_QUARTZ_JOBSTORE_DRIVERDELEGATECLASS = "org.quartz.jobStore.driverDelegateClass";
    public static final String ORG_QUARTZ_SCHEDULER_INSTANCENAME = "org.quartz.scheduler.instanceName";
    public static final String ORG_QUARTZ_SCHEDULER_INSTANCEID = "org.quartz.scheduler.instanceId";
    public static final String ORG_QUARTZ_SCHEDULER_MAKESCHEDULERTHREADDAEMON = "org.quartz.scheduler.makeSchedulerThreadDaemon";
    public static final String ORG_QUARTZ_JOBSTORE_USEPROPERTIES = "org.quartz.jobStore.useProperties";
    public static final String ORG_QUARTZ_THREADPOOL_CLASS = "org.quartz.threadPool.class";
    public static final String ORG_QUARTZ_THREADPOOL_THREADCOUNT = "org.quartz.threadPool.threadCount";
    public static final String ORG_QUARTZ_THREADPOOL_MAKETHREADSDAEMONS = "org.quartz.threadPool.makeThreadsDaemons";
    public static final String ORG_QUARTZ_THREADPOOL_THREADPRIORITY = "org.quartz.threadPool.threadPriority";
    public static final String ORG_QUARTZ_JOBSTORE_CLASS = "org.quartz.jobStore.class";
    public static final String ORG_QUARTZ_JOBSTORE_TABLEPREFIX = "org.quartz.jobStore.tablePrefix";
    public static final String ORG_QUARTZ_JOBSTORE_ISCLUSTERED = "org.quartz.jobStore.isClustered";
    public static final String ORG_QUARTZ_JOBSTORE_MISFIRETHRESHOLD = "org.quartz.jobStore.misfireThreshold";
    public static final String ORG_QUARTZ_JOBSTORE_CLUSTERCHECKININTERVAL = "org.quartz.jobStore.clusterCheckinInterval";
    public static final String ORG_QUARTZ_JOBSTORE_ACQUIRETRIGGERSWITHINLOCK = "org.quartz.jobStore.acquireTriggersWithinLock";
    public static final String ORG_QUARTZ_JOBSTORE_DATASOURCE = "org.quartz.jobStore.dataSource";
    public static final String ORG_QUARTZ_DATASOURCE_MYDS_CONNECTIONPROVIDER_CLASS = "org.quartz.dataSource.myDs.connectionProvider.class";

    /**
     * quartz config default value
     */
    public static final String QUARTZ_TABLE_PREFIX = "QRTZ_";
    public static final String QUARTZ_MISFIRETHRESHOLD = "60000";
    public static final String QUARTZ_CLUSTERCHECKININTERVAL = "5000";
    public static final String QUARTZ_DATASOURCE = "myDs";
    public static final String QUARTZ_THREADCOUNT = "25";
    public static final String QUARTZ_THREADPRIORITY = "5";
    public static final String QUARTZ_INSTANCENAME = "DolphinScheduler";
    public static final String QUARTZ_INSTANCEID = "AUTO";
    public static final String QUARTZ_ACQUIRETRIGGERSWITHINLOCK = "true";

    /**
     * dolphinscheduler.env.path
     */
    public static final String DOLPHINSCHEDULER_ENV_PATH = "dolphinscheduler.env.path";

    /**
     * environment properties default path
     */
    public static final String ENV_PATH = "env/dolphinscheduler_env.sh";

    /**
     * python home
     */
    public static final String PYTHON_HOME = "PYTHON_HOME";

    /**
     * resource.view.suffixs
     */
    public static final String RESOURCE_VIEW_SUFFIXS = "resource.view.suffixs";

    public static final String RESOURCE_VIEW_SUFFIXS_DEFAULT_VALUE = "txt,log,sh,conf,cfg,py,java,sql,hql,xml,properties";

    /**
     * development.state
     */
    public static final String DEVELOPMENT_STATE = "development.state";

    /**
     * string true
     */
    public static final String STRING_TRUE = "true";

    /**
     * string false
     */
    public static final String STRING_FALSE = "false";

    /**
     * resource storage type
     */
    public static final String RESOURCE_STORAGE_TYPE = "resource.storage.type";

    /**
     * MasterServer directory registered in zookeeper
     */
    public static final String ZOOKEEPER_DOLPHINSCHEDULER_MASTERS = "/nodes/master";

    /**
     * WorkerServer directory registered in zookeeper
     */
    public static final String ZOOKEEPER_DOLPHINSCHEDULER_WORKERS = "/nodes/worker";

    /**
     * all servers directory registered in zookeeper
     */
    public static final String ZOOKEEPER_DOLPHINSCHEDULER_DEAD_SERVERS = "/dead-servers";

    /**
     * MasterServer lock directory registered in zookeeper
     */
    public static final String ZOOKEEPER_DOLPHINSCHEDULER_LOCK_MASTERS = "/lock/masters";


    /**
     * MasterServer failover directory registered in zookeeper
     */
    public static final String ZOOKEEPER_DOLPHINSCHEDULER_LOCK_FAILOVER_MASTERS = "/lock/failover/masters";

    /**
     * WorkerServer failover directory registered in zookeeper
     */
    public static final String ZOOKEEPER_DOLPHINSCHEDULER_LOCK_FAILOVER_WORKERS = "/lock/failover/workers";

    /**
     * MasterServer startup  failover runing and fault tolerance process
     */
    public static final String ZOOKEEPER_DOLPHINSCHEDULER_LOCK_FAILOVER_STARTUP_MASTERS = "/lock/failover/startup-masters";

    /**
     * DOT .
     */
    public static final String DOT = ".";
    /**
     * comma ,
     */
    public static final String COMMA = ",";

    /**
     * slash /
     */
    public static final String SLASH = "/";

    /**
     * COLON :
     */
    public static final String COLON = ":";

    /**
     * SINGLE_SLASH /
     */
    public static final String SINGLE_SLASH = "/";

    /**
     * DOUBLE_SLASH //
     */
    public static final String DOUBLE_SLASH = "//";

    /**
     * EQUAL SIGN
     */
    public static final String EQUAL_SIGN = "=";
    /**
     * AT SIGN
     */
    public static final String AT_SIGN = "@";

    public static final String HYPHEN = "-";


    public static final String WORKER_MAX_CPULOAD_AVG = "worker.max.cpuload.avg";

    public static final String WORKER_RESERVED_MEMORY = "worker.reserved.memory";

    public static final String MASTER_MAX_CPULOAD_AVG = "master.max.cpuload.avg";

    public static final String MASTER_RESERVED_MEMORY = "master.reserved.memory";

    /**
     * http connect time out
     */
    public static final int HTTP_CONNECT_TIMEOUT = 60 * 1000;


    /**
     * http connect request time out
     */
    public static final int HTTP_CONNECTION_REQUEST_TIMEOUT = 60 * 1000;

    /**
     * httpclient soceket time out
     */
    public static final int SOCKET_TIMEOUT = 60 * 1000;

    /**
     * UTF-8
     */
    public static final String UTF_8 = "UTF-8";

    /**
     * user name regex
     */
    public static final Pattern REGEX_USER_NAME = Pattern.compile("^[a-zA-Z0-9._-]{3,39}$");

    /**
     * email regex
     */
    public static final Pattern REGEX_MAIL_NAME = Pattern.compile("^([a-z0-9A-Z]+[_|\\-|\\.]?)+[a-z0-9A-Z]@([a-z0-9A-Z]+(-[a-z0-9A-Z]+)?\\.)+[a-zA-Z]{2,}$");

    /**
     * read permission
     */
    public static final int READ_PERMISSION = 2 * 1;


    /**
     * write permission
     */
    public static final int WRITE_PERMISSION = 2 * 2;


    /**
     * execute permission
     */
    public static final int EXECUTE_PERMISSION = 1;

    /**
     * all permissions
     */
    public static final int ALL_PERMISSIONS = READ_PERMISSION | WRITE_PERMISSION | EXECUTE_PERMISSION;

    /**
     * max task timeout
     */
    public static final int MAX_TASK_TIMEOUT = 24 * 3600;


    /**
     * master cpu load
     */
    public static final int DEFAULT_MASTER_CPU_LOAD = Runtime.getRuntime().availableProcessors() * 2;

    /**
     * master reserved memory
     */
    public static final double DEFAULT_MASTER_RESERVED_MEMORY = OSUtils.totalMemorySize() / 10;

    /**
     * worker cpu load
     */
    public static final int DEFAULT_WORKER_CPU_LOAD = Runtime.getRuntime().availableProcessors() * 2;

    /**
     * worker reserved memory
     */
    public static final double DEFAULT_WORKER_RESERVED_MEMORY = OSUtils.totalMemorySize() / 10;


    /**
     * default log cache rows num,output when reach the number
     */
    public static final int DEFAULT_LOG_ROWS_NUM = 4 * 16;

    /**
     * log flush interval?output when reach the interval
     */
    public static final int DEFAULT_LOG_FLUSH_INTERVAL = 1000;


    /**
     * time unit secong to minutes
     */
    public static final int SEC_2_MINUTES_TIME_UNIT = 60;


    /***
     *
     * rpc port
     */
    public static final int RPC_PORT = 50051;

    public static final String DEFAULT = "Default";
    public static final String NULL = "NULL";
    public static final String THREAD_NAME_MASTER_SERVER = "Master-Server";
    public static final String THREAD_NAME_WORKER_SERVER = "Worker-Server";
    public static final String THREAD_NAME_API_SERVER = "Bdp-API-Server";
    public static final String THREAD_NAME_STANDALONE_SERVER = "Standalone-Server";

    /**
     * command parameter keys
     */
    public static final String CMDPARAM_RECOVER_PROCESS_ID_STRING = "ProcessInstanceId";

    public static final String CMDPARAM_RECOVERY_START_NODE_STRING = "StartNodeIdList";

    public static final String CMDPARAM_RECOVERY_WAITTING_THREAD = "WaittingThreadInstanceId";

    public static final String CMDPARAM_SUB_PROCESS = "processInstanceId";

    public static final String CMDPARAM_EMPTY_SUB_PROCESS = "0";

    public static final String CMDPARAM_SUB_PROCESS_PARENT_INSTANCE_ID = "parentProcessInstanceId";

    public static final String CMDPARAM_SUB_PROCESS_DEFINE_ID = "processDefinitionId";

    public static final String CMDPARAM_START_NODE_NAMES = "StartNodeNameList";

    public static final String CMDPARAM_RESOURCE_ID = "resourceId";
    public static final String CMDPARAM_FILE_PATHS = "filePaths";

    /**
     * complement data start date
     */
    public static final String CMDPARAM_COMPLEMENT_DATA_START_DATE = "complementStartDate";

    /**
     * complement data end date
     */
    public static final String CMDPARAM_COMPLEMENT_DATA_END_DATE = "complementEndDate";

    /**
     * hadoop configuration
     */
    public static final String HADOOP_RM_STATE_ACTIVE = "ACTIVE";

    public static final String HADOOP_RM_STATE_STANDBY = "STANDBY";

    public static final String HADOOP_RESOURCE_MANAGER_HTTPADDRESS_PORT = "resource.manager.httpaddress.port";


    public static final String QUARTZ_PROPERTIES_PATH = "quartz.properties";

    /**
     * sleep time
     */
    public static final int SLEEP_TIME_MILLIS = 1000;

    /**
     * heartbeat for zk info length
     */
    public static final int HEARTBEAT_FOR_ZOOKEEPER_INFO_LENGTH = 11;


    /**
     * hadoop params constant
     */
    /**
     * jar
     */
    public static final String JAR = "jar";

    /**
     * hadoop
     */
    public static final String HADOOP = "hadoop";

    /**
     * -D parameter
     */
    public static final String D = "-D";

    /**
     * -D mapreduce.job.queuename=ququename
     */
    public static final String MR_QUEUE = "mapreduce.job.queuename";


    /**
     * spark params constant
     */
    public static final String MASTER = "--master";

    public static final String DEPLOY_MODE = "--deploy-mode";

    /**
     * --class CLASS_NAME
     */
    public static final String MAIN_CLASS = "--class";

    /**
     * --driver-cores NUM
     */
    public static final String DRIVER_CORES = "--driver-cores";

    /**
     * --driver-memory MEM
     */
    public static final String DRIVER_MEMORY = "--driver-memory";

    /**
     * --num-executors NUM
     */
    public static final String NUM_EXECUTORS = "--num-executors";

    /**
     * --executor-cores NUM
     */
    public static final String EXECUTOR_CORES = "--executor-cores";

    /**
     * --executor-memory MEM
     */
    public static final String EXECUTOR_MEMORY = "--executor-memory";


    /**
     * --queue QUEUE
     */
    public static final String SPARK_QUEUE = "--queue";

    /**
     * --jars   jar
     */
    public static final String SPARK_JARS = "--jars";


    /**
     * --queue --qu
     */
    public static final String FLINK_QUEUE = "--qu";


    /**
     * exit code success
     */
    public static final int EXIT_CODE_SUCCESS = 0;

    /**
     * exit code kill
     */
    public static final int EXIT_CODE_KILL = 137;

    /**
     * exit code failure
     */
    public static final int EXIT_CODE_FAILURE = -1;

    /**
     * date format of yyyyMMdd
     */
    public static final String PARAMETER_FORMAT_DATE = "yyyyMMdd";

    /**
     * date format of yyyyMMddHHmmss
     */
    public static final String PARAMETER_FORMAT_TIME = "yyyyMMddHHmmss";

    /**
     * system date(yyyyMMddHHmmss)
     */
    public static final String PARAMETER_DATETIME = "system.datetime";

    /**
     * system date(yyyymmdd) today
     */
    public static final String PARAMETER_CURRENT_DATE = "system.biz.curdate";

    /**
     * system date(yyyymmdd) yesterday
     */
    public static final String PARAMETER_BUSINESS_DATE = "system.biz.date";

    /**
     * ACCEPTED
     */
    public static final String ACCEPTED = "ACCEPTED";

    /**
     * SUCCEEDED
     */
    public static final String SUCCEEDED = "SUCCEEDED";
    /**
     * NEW
     */
    public static final String NEW = "NEW";
    /**
     * NEW_SAVING
     */
    public static final String NEW_SAVING = "NEW_SAVING";
    /**
     * SUBMITTED
     */
    public static final String SUBMITTED = "SUBMITTED";
    /**
     * FAILED
     */
    public static final String FAILED = "FAILED";
    /**
     * KILLED
     */
    public static final String KILLED = "KILLED";
    /**
     * RUNNING
     */
    public static final String RUNNING = "RUNNING";
    /**
     * underline  "_"
     */
    public static final String UNDERLINE = "_";
    /**
     * quartz job prifix
     */
    public static final String QUARTZ_JOB_PRIFIX = "job";

    public static final String TASK_TYPE = "task_type";
    /**
     * quartz job group prifix
     */
    public static final String QUARTZ_JOB_GROUP_PRIFIX = "jobgroup";
    /**
     * projectId
     */
    public static final String PROJECT_ID = "projectId";
    /**
     * processDefinitionId
     */
    public static final String PROCESS_DEFINITION_ID = "processDefinitionId";
    /**
     * processId
     */
    public static final String SCHEDULE_ID = "scheduleId";
    /**
     * monitorDirectory
     */
    public static final String MONITOR_DIRECTORY = "monitorDirectory";
    /**
     * schedule
     */
    public static final String SCHEDULE = "schedule";
    /**
     * application regex
     */
    public static final String APPLICATION_REGEX = "application_\\d+_\\d+";
    public static final String PID = OSUtils.isWindows() ? "handle" : "pid";
    /**
     * month_begin
     */
    public static final String MONTH_BEGIN = "month_begin";
    /**
     * add_months
     */
    public static final String ADD_MONTHS = "add_months";
    /**
     * month_end
     */
    public static final String MONTH_END = "month_end";
    /**
     * week_begin
     */
    public static final String WEEK_BEGIN = "week_begin";
    /**
     * week_end
     */
    public static final String WEEK_END = "week_end";
    /**
     * timestamp
     */
    public static final String TIMESTAMP = "timestamp";
    public static final char SUBTRACT_CHAR = '-';
    public static final char ADD_CHAR = '+';
    public static final char MULTIPLY_CHAR = '*';
    public static final char DIVISION_CHAR = '/';
    public static final char LEFT_BRACE_CHAR = '(';
    public static final char RIGHT_BRACE_CHAR = ')';
    public static final String ADD_STRING = "+";
    public static final String MULTIPLY_STRING = "*";
    public static final String DIVISION_STRING = "/";
    public static final String LEFT_BRACE_STRING = "(";
    public static final char P = 'P';
    public static final char N = 'N';
    public static final String SUBTRACT_STRING = "-";
    public static final String GLOBAL_PARAMS = "globalParams";
    public static final String LOCAL_PARAMS = "localParams";
    public static final String PROCESS_INSTANCE_STATE = "processInstanceState";
    public static final String TASK_LIST = "taskList";
    public static final String RWXR_XR_X = "rwxr-xr-x";

    /**
     * master/worker server use for zk
     */
    public static final String MASTER_PREFIX = "master";
    public static final String WORKER_PREFIX = "worker";
    public static final String DELETE_ZK_OP = "delete";
    public static final String ADD_ZK_OP = "add";
    public static final String ALIAS = "alias";
    public static final String CONTENT = "content";
    public static final String DEPENDENT_SPLIT = ":||";
    public static final String DEPENDENT_ALL = "ALL";


    /**
     *  preview schedule execute count
     */
    public static final int PREVIEW_SCHEDULE_EXECUTE_COUNT = 5;

    /**
     * kerberos
     */
    public static final String KERBEROS = "kerberos";

    /**
     * task log info format
     */
    public static final String TASK_LOG_INFO_FORMAT = "TaskLogInfo-%s";

    //flink
    public static final String FLINK_URL = "flink.url";
    public static final String FLINK_YARN_CLUSTER = "yarn-cluster";
    public static final String FLINK_RUN_MODE = "-m";
    public static final String FLINK_YARN_SLOT = "-ys";
    public static final String FLINK_APP_NAME = "-ynm";
    public static final String FLINK_TASK_MANAGE = "-yn";

    public static final String FLINK_JOB_MANAGE_MEM = "-yjm";
    public static final String FLINK_TASK_MANAGE_MEM = "-ytm";
    public static final String FLINK_DETACH = "-d";
    public static final String FLINK_MAIN_CLASS = "-c";


    public static final int[] NOT_TERMINATED_STATES = new int[]{
            ExecutionStatus.SUBMITTED_SUCCESS.ordinal(),
            ExecutionStatus.RUNNING_EXEUTION.ordinal(),
            ExecutionStatus.READY_PAUSE.ordinal(),
            ExecutionStatus.READY_STOP.ordinal(),
            ExecutionStatus.NEED_FAULT_TOLERANCE.ordinal(),
            ExecutionStatus.WAITTING_THREAD.ordinal(),
            ExecutionStatus.WAITTING_DEPEND.ordinal()
    };

    /**
     * status
     */
    public static final String STATUS = "status";

    /**
     * message
     */
    public static final String MSG = "msg";

    /**
     * data total
     */
    public static final String DATA_LIST = "data";

    public static final String PASSWORD_DEFAULT = "******";

    /**
     * dataSource sensitive param
     */
    public static final String DATASOURCE_PASSWORD_REGEX = "(?<=(\"password\":\")).*?(?=(\"))";

    /**
     * default worker group
     */
    public static final String DEFAULT_WORKER_GROUP = "default";

    public static final Integer TASK_INFO_LENGTH = 5;

    /**
     * new
     * schedule time
     */
    public static final String PARAMETER_SHECDULE_TIME = "schedule.time";


    /**
     * plugin configurations
     */
    public static final String PLUGIN_JAR_SUFFIX = ".jar";

    public static final int NORAML_NODE_STATUS = 0;
    public static final int ABNORMAL_NODE_STATUS = 1;


    public static final String ALGORITHM_JAVA_MAINCLASS = "avicit.bdp.dds.library.LibraryApplication";

    public static final String ALGORITHM_PYSPARK_MAINFILE = "etl_job.py";

    public static final String ALGORITHM_PYSPARK_TMPFILE = "tmp_pyspark.tpl";
    public static final String ALGORITHM_PYTHON_TMPFILE = "tmp_python.tpl";

    /**
     *  cpus
     */
    public static final int CPUS = Runtime.getRuntime().availableProcessors();

    /**
     * 判据相关常量
     */
    public static final String PROCESS_DEFINE_ID_KEY = "processDefineId";
    public static final String PROCESS_INSTANCE_ID_KEY = "processInstanceId";
    public static final String TASK_INSTANCE_ID_KEY = "taskInstanceId";
    public static final String DATA_OUT_TABLE_ID_KEY = "dataOutTableId";
    public static final String TAG_OUT_TABLE_ID_KEY = "tagOutTableId";
    public static final String RULE_IDS_KEY = "ruleIds";
    public static final String RULE_KEY = "rules";
    public static final String MAIN_KEY = "mainKey";
    public static final String DATA_OUT_KEY = "dataOutput";
    public static final String TAG_OUT_KEY = "tagOutput";
    public static final String TABLE_ID_KEY = "tableId";
    public static final String RULES_KEY = "rules";
    public static final String RESOURCE_ID_KEY = "resourceId";
    public static final String RULE_ID_KEY = "ruleId";
    public static final String RULE_NAME_KEY = "ruleName";
    public static final String RULE_CODE_KEY = "code";
    public static final String RULE_LEVEL_KEY = "level";
    public static final String RULE_DURATION_KEY = "duration";
    public static final String RULE_DURANTION_NAME_KEY = "durationName";
    public static final String RULE_REMARK_KEY = "remark";
    public static final String RULE_PARAMS_KEY = "params";
    public static final String RULE_RULE_CONTENT_KEY = "ruleContent";
    public static final String RULE_RULE_RESULT_LIST_KEY = "ruleResultList";
    public static final String TYPE_KEY = "type";
    public static final String TIME_STAMP_KEY = "timestamp";
    public static final String TABLE_TAG_NAME = "tag_name";
    public static final String TABLE_RULE_ID = "rule_id";
    public static final String TAG_ID = "id";
    public static final String TABLE_PARAS = "paras";
    public static final String TABLE_START_POINT = "start_point";
    public static final String TABLE_END_POINT = "end_point";
    public static final String TABLE_SHOW_RESULT = "show_result";
    public static final String TABLE_START_TIMESTAMP = "start_timestamp";
    public static final String TABLE_END_TIMESTAMP = "end_timestamp";
    public static final String RULE_TIME_DEFAULT_VALUE = "Time";

    public static final String ECHART_TITLE_SUFFIX = "TODO";
    public static final String ECHART_OPTION = "option";
    public static final String ECHART_TITLE = "title";
    public static final String ECHART_XAXIS = "xAxis";
    public static final String ECHART_YAXIS = "yAxis";
    public static final String ECHART_TYPE = "type";
    public static final String ECHART_BOUNDART_GAP = "boundaryGap";
    public static final String ECHART_DATA = "data";
    public static final String ECHART_AXISLABEL = "axisLabel";
    public static final String ECHART_FORMATTER = "formatter";
    public static final String ECHART_SERIES = "series";
    public static final String ECHART_NAME = "name";
    public static final String ECHART_MAKEPOINT = "markPoint";
    public static final String ECHART_VALUE = "value";
    public static final String ECHART_PARAM_TYPE = "paramType";


    public static final String TDENGINE_USABLE = "tdengine.usable";
    public static final String TDENGINE_RESTFUL_DRIVER_CLASS = "tdengine.restfulDriverClass";
    public static final String TDENGINE_RESTURL = "tdengine.restUrl";
    public static final String TDENGINE_USERNAME = "tdengine.userName";
    public static final String TDENGINE_PASSWORD = "tdengine.password";
    public static final String TDENGINE_DBNAME = "tdengine.dbName";
    public static final String TDENGINE_POOLSIZE = "tdengine.poolSize";
    public static final String TDENGINE_DATABASE_COLUMN_HUMP_TO_LINE = "tdengine.databaseColumnHumpToLine";
    public static final String TDENGINE_JDBC_DRIVER_CLASS = "tdengine.jdbcDriverClass";
    public static final String TDENGINE_JDBC_URL = "tdengine.jdbcUrl";

    public static final String SPARK_JAR_PATH = "spark.jar.path";

    public static final String HISTORY_TASK_DRIVER = "history.task.driver";
    public static final String HISTORY_TASK_URL = "history.task.url";
    public static final String HISTORY_TASK_USERNAME = "history.task.username";
    public static final String HISTORY_TASK_PASSWORD = "history.task.password";
    public static final String HISTORY_TASK_TABLE = "history.task.table";

}
